package com.hivekion.system.service;

import com.hivekion.system.domain.SysStatisticsBiName;
import com.hivekion.system.domain.SysStatisticsItemSchame;
import com.hivekion.system.domain.SysStatisticsTargetSchame;
import com.hivekion.system.domain.SysStatisticsTargetSum;
import com.hivekion.system.domain.vo.*;

import java.util.List;

public interface ISysStatisticsBiSchameService {

      Boolean checkItemSchameNameUnique(String deptName, String deptId);

      Boolean checkSchameSumSchameUnique(String deptName, String deptId);

      // 统计项添加
      boolean createItemSchame(SysStatisticsItemSchameCreateInputVo dept);

      // 获取单个item信息
      SysStatisticsItemSchame getItemInfo(String itemId);

      // 统计项可添加列表展示
      List<SysStatisticsItemSchameSelectViewVo> getItemSchameSelectList(String biNameId);

      List<SysBiDataItemSchameVo> getItemSchameList(String biNameId);

      // 统计项已添加列表展示
//      List<SysStatisticsItemSchameSelectViewVo> getItemSchameList(String biNameId);

      // 删除已添加列表
      boolean deleteItemSchame(String itemSchameId);

      // 统计指标添加
      boolean createTargetSchame(SysStatisticsTargetSchameCreateInputVo inputVo);

      // 获取单个item信息
      SysStatisticsTargetSchame getTargetInfo(String targetId);

      // 统计项可添加列表展示
      List<SysStatisticsTargetSchameSelectViewVo> getTargetSchameSelectList(
	      String biNameId, String targetType);

      // 统计项已添加列表展示
      List<SysStatisticsTargetSchameSelectViewVo> getTargetSchameList(
	      String biNameId, String targetType);

      List<SysStatisticsTargetSchameViewVo> getTargetSchameList(String biNameId);

      List<SysStatisticsTargetSchame> getTargetSchames(String biNameId);

      SysStatisticsTargetSchameModelVo getTargetSchameInfo(String key);

      boolean editTargetSchame(SysStatisticsTargetSchameUpdateVo vo);

      /*
       *  删除已添加统计指标
       * */
      boolean deleteTargetSchame(String targetSchameId);

      List<SysStatisticsTargetSum> getTargetSumList();

      List<SysStatisticsTargetSumSchameSelectViewVo> getTargetSumSchameList(String biNameId);

      SysStatisticsTargetSum getTargetSumInfo(String targetSumid);

      boolean addTargetSum(SysStatisticsTargetSumSchameCreateInputVo inputVo);

      boolean editTargetSum(SysStatisticsTargetSumUpdateInputVo inputVo);

      boolean addTargetSumSchame(String biNameId, String targetSumId);

      // 删除已添加列表
      boolean updateBiNameCondtion(SysStatisticsBiNameConditionUpdateVo updateVo);

      // 删除已添加列表
      SysStatisticsBiName getBiNameCondtion(String biNameId);

      List<SysStatisticsTargetSum> getTargetSumSchameByName(String targetSumName);

      public List<SysBiDataItemSchameVo> getSettingItemSchameList(String biNameId);
}
